/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.jfonia.model;

import java.util.List;
import org.jfonia.model.elements.MusicalElement;

/**
 *
 * @author Rik Bauwens
 */
public interface ISequence
{
        public MusicalElement getMusicalElement(int tick);

        public MusicalElement addMusicalElement(MusicalElement musicalElement);

        public MusicalElement insertMusicalElement(int pos, MusicalElement musicalElement);

        public void addMusicalElements(List<MusicalElement> musicalElements);

        public void insertMusicalElements(int pos, List<MusicalElement> musicalElements);

        public void removeMusicalElement(MusicalElement musicalElement);
        
        public int indexOf(MusicalElement MusicalElement);

        public int getMusicalLength();
}
